package ar.edu.utn.frba.dds.tp.code.filtros;

import java.util.ArrayList;

import ar.edu.utn.frba.dds.tp.code.Asientos.AsientoDeVuelo;
import ar.edu.utn.frba.dds.tp.code.Asientos.ClaseAsiento;

import com.google.common.base.Predicate;
import com.google.common.collect.*;

public class PredicateClaseAsiento implements Predicate<AsientoDeVuelo> {

	private final Iterable<ClaseAsiento> clases;
	
	public Iterable<ClaseAsiento> getClases() {
		return clases;
	}

	public PredicateClaseAsiento(ArrayList<ClaseAsiento> clases){
		this.clases = clases;
	}
	
    public boolean apply(final AsientoDeVuelo asiento){
			
			Predicate<ClaseAsiento> algunoCumple = new Predicate<ClaseAsiento>() {
				public boolean apply(ClaseAsiento clase){
					return clase.equals(asiento.getClase());
				}
			};
		
			return Iterators.any(this.getClases().iterator(), algunoCumple);
		
    }
	
	
}
